package com.campus.app.service;

import com.campus.commons.entity.Class;
import com.baomidou.mybatisplus.extension.service.IService;
import com.campus.commons.utils.Result;

import javax.validation.constraints.NotNull;
import java.util.List;

/**
 * <p>
 * 班级表 服务类
 * </p>
 *
 * @author Rin
 * @since 2020-12-24
 */
public interface ClasssService extends IService<Class> {
    /**
     * 获取这个老师带的所有班级
     * @param teacher
     * @return
     */
    Result<List<Class>> getClassByTeacherId(Integer teacher);

    /**
     * 判断班级是否存在通过名字
     *
     * @param className
     * @return
     */
    Boolean exitClassByName(@NotNull String className);

    /**
     * 获取所有班级
     * @return
     */
    Result<List<Class>> getAllClass();
    /**
     * 获取所有班级信息
     *
     * @param page
     * @param limit
     * @return
     * @author 一行琉璃
     */
    Result<List<Class>> getAlls(int page, int limit);

    /**
     * 删除班级通过id
     * @author 一行琉璃
     * @param id
     * @return
     */
    Result deleteClass(int id);

    /**
     * 复合查询
     *
     * @param begin
     * @param end
     * @param page
     * @param limit
     * @param c
     * @return
     * @author 一行琉璃
     */
    Result<List<Class>> getAllBy(String begin, String end, int page, int limit, Class c);

    /**
     * 获取一条用户记录
     *
     * @param id
     * @return
     * @Author 一行琉璃
     */
    Result<Class> getOne(int id);

    /**
     * 更新class信息
     *
     * @param c
     * @return
     * @Author 一行琉璃
     */
    Result update_xml(Class c);

    /**
     * 添加一条班级信息
     *
     * @param c
     * @return
     * @author 一行琉璃
     */
    Result addClass(Class c);
}
